[dir="ltr"] .spectrum-ToggleSwitch {

  margin-right: calc(var(--spectrum-switch-cursor-hit-x, var(--spectrum-global-dimension-size-100)) * 2);
}

[dir="rtl"] .spectrum-ToggleSwitch {

  margin-left: calc(var(--spectrum-switch-cursor-hit-x, var(--spectrum-global-dimension-size-100)) * 2);
}

.spectrum-ToggleSwitch {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: start;
      align-items: flex-start;

  position: relative;

  min-height: var(--spectrum-switch-height, var(--spectrum-global-dimension-size-400));
  max-width: 100%;

  vertical-align: top;
}

[dir="ltr"] .spectrum-ToggleSwitch-input {
  left: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-input {
  right: 0;
}

.spectrum-ToggleSwitch-input {
  margin: 0;
  box-sizing: border-box;
  padding: 0;

  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  opacity: .0001;
  z-index: 1;

  cursor: pointer;
}

[dir='ltr'] .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch::before {
      transform: translateX(calc(100% - var(--spectrum-switch-handle-border-size, var(--spectrum-alias-border-size-thick))));
    }

[dir='rtl'] .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch::before {
      transform: translateX(calc(-100% + var(--spectrum-switch-handle-border-size, var(--spectrum-alias-border-size-thick))));
    }

.spectrum-ToggleSwitch-input:disabled,
  .spectrum-ToggleSwitch-input[disabled] {
    cursor: default;
  }

.spectrum-ToggleSwitch-input.focus-ring + .spectrum-ToggleSwitch-switch:after {
        margin: calc(var(--spectrum-alias-focus-ring-gap, var(--spectrum-global-dimension-static-size-25)) * -1);
      }

.spectrum-ToggleSwitch-label {
  margin-left: var(--spectrum-switch-text-gap, var(--spectrum-global-dimension-size-125));
  margin-right: var(--spectrum-switch-text-gap, var(--spectrum-global-dimension-size-125));
  margin-top: var(--spectrum-global-dimension-size-65);
  margin-bottom: 0;
  font-size: var(--spectrum-switch-text-size, var(--spectrum-alias-font-size-default));
  line-height: 1.49;
  transition: color var(--spectrum-global-animation-duration-200, 160ms) ease-in-out;
}

[dir="ltr"] .spectrum-ToggleSwitch-switch {

  left: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-switch {

  right: 0;
}

[dir="ltr"] .spectrum-ToggleSwitch-switch {
  right: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-switch {
  left: 0;
}

.spectrum-ToggleSwitch-switch {
  display: inline-block;
  box-sizing: border-box;
  position: relative;

  width: var(--spectrum-switch-track-width);
  margin-top: calc((var(--spectrum-switch-height, var(--spectrum-global-dimension-size-400)) - var(--spectrum-switch-track-height, var(--spectrum-global-dimension-size-175))) / 2);
  margin-bottom: calc((var(--spectrum-switch-height, var(--spectrum-global-dimension-size-400)) - var(--spectrum-switch-track-height, var(--spectrum-global-dimension-size-175))) / 2);
  margin-left: 0;
  margin-right: 0;

  -ms-flex-positive: 0;

      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;

  vertical-align: middle;

  transition: background var(--spectrum-global-animation-duration-100, 130ms) ease-in-out, border var(--spectrum-global-animation-duration-100, 130ms) ease-in-out;

  height: var(--spectrum-switch-track-height, var(--spectrum-global-dimension-size-175));

  border-radius: calc(var(--spectrum-switch-track-height, var(--spectrum-global-dimension-size-175)) / 2);
}

.spectrum-ToggleSwitch-switch:before {
    display: block;
    position: absolute;
    content: "";
    box-sizing: border-box;
  }

[dir="ltr"] .spectrum-ToggleSwitch-switch:before {
    left: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-switch:before {
    right: 0;
}

.spectrum-ToggleSwitch-switch:before {
    transition: background var(--spectrum-global-animation-duration-100, 130ms) ease-in-out, border var(--spectrum-global-animation-duration-100, 130ms) ease-in-out, transform var(--spectrum-global-animation-duration-100, 130ms) ease-in-out, box-shadow var(--spectrum-global-animation-duration-100, 130ms) ease-in-out;

    width: var(--spectrum-switch-handle-size, var(--spectrum-global-dimension-size-175));
    height: var(--spectrum-switch-handle-size, var(--spectrum-global-dimension-size-175));

    top: 0;

    border-width: var(--spectrum-switch-handle-border-size, var(--spectrum-alias-border-size-thick));
    border-radius: var(--spectrum-switch-handle-border-radius);
    border-style: solid;
  }

[dir="ltr"] .spectrum-ToggleSwitch-switch:after {
    left: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-switch:after {
    right: 0;
}

[dir="ltr"] .spectrum-ToggleSwitch-switch:after {
    right: 0;
}

[dir="rtl"] .spectrum-ToggleSwitch-switch:after {
    left: 0;
}

.spectrum-ToggleSwitch-switch:after {
    border-radius: calc(var(--spectrum-switch-track-height, var(--spectrum-global-dimension-size-175)) + var(--spectrum-alias-focus-ring-gap, var(--spectrum-global-dimension-static-size-25)));
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    top: 0;
    margin: 0;

    transition: box-shadow var(--spectrum-global-animation-duration-100, 130ms) ease-out,
                margin var(--spectrum-global-animation-duration-100, 130ms) ease-out;
  }

.spectrum-ToggleSwitch-switch {
  background-color: var(--spectrum-switch-emphasized-track-color, var(--spectrum-global-color-gray-300));
}

.spectrum-ToggleSwitch-switch:before {
    background-color: var(--spectrum-switch-emphasized-handle-background-color, var(--spectrum-global-color-gray-75));
    border-color: var(--spectrum-switch-emphasized-handle-border-color, var(--spectrum-global-color-gray-600));
  }

.spectrum-ToggleSwitch-input ~ .spectrum-ToggleSwitch-label {
  color: var(--spectrum-switch-emphasized-text-color, var(--spectrum-alias-text-color));
}

.spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch {
    background-color: var(--spectrum-switch-emphasized-track-color-selected, var(--spectrum-global-color-blue-500));
  }

.spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch:before {
      border-color: var(--spectrum-switch-emphasized-handle-border-color-selected, var(--spectrum-global-color-blue-500));
    }

.spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-hover, var(--spectrum-global-color-gray-700));
        box-shadow: none;
      }

.spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input ~ .spectrum-ToggleSwitch-label {
      color: var(--spectrum-switch-emphasized-text-color-hover, var(--spectrum-alias-text-color-hover));
    }

.spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
      background-color: var(--spectrum-switch-emphasized-track-color-selected-hover, var(--spectrum-global-color-blue-600));
    }

.spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-selected-hover, var(--spectrum-global-color-blue-600));
      }

.spectrum-ToggleSwitch:active .spectrum-ToggleSwitch-input + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-down, var(--spectrum-global-color-gray-800));
      }

.spectrum-ToggleSwitch:active .spectrum-ToggleSwitch-input ~ .spectrum-ToggleSwitch-label {
      color: var(--spectrum-switch-emphasized-text-color-down, var(--spectrum-alias-text-color-down));
    }

.spectrum-ToggleSwitch:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
      background-color: var(--spectrum-switch-emphasized-track-color-selected-down, var(--spectrum-global-color-blue-700));
    }

.spectrum-ToggleSwitch:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-selected-down, var(--spectrum-global-color-blue-700));
      }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled + .spectrum-ToggleSwitch-switch {
    background-color: var(--spectrum-switch-emphasized-track-color-disabled, var(--spectrum-global-color-gray-300));
  }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled + .spectrum-ToggleSwitch-switch:before {
      border-color: var(--spectrum-switch-emphasized-handle-border-color-disabled, var(--spectrum-global-color-gray-400));
    }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled ~ .spectrum-ToggleSwitch-label {
    color: var(--spectrum-switch-emphasized-text-color-disabled, var(--spectrum-alias-text-color-disabled));
  }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled:checked + .spectrum-ToggleSwitch-switch {
      background-color: var(--spectrum-switch-emphasized-track-color-selected-disabled, var(--spectrum-global-color-gray-400));
    }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled:checked + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-selected-disabled, var(--spectrum-global-color-gray-400));
      }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input:disabled:checked ~ .spectrum-ToggleSwitch-label {
      color: var(--spectrum-switch-emphasized-text-color-selected-disabled, var(--spectrum-alias-text-color-disabled));
    }

.spectrum-ToggleSwitch--quiet .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch {
    background-color: var(--spectrum-switch-quiet-track-color-selected, var(--spectrum-global-color-gray-700));
  }

.spectrum-ToggleSwitch--quiet .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch:before {
      border-color: var(--spectrum-switch-quiet-handle-border-color-selected, var(--spectrum-global-color-gray-700));
    }

.spectrum-ToggleSwitch--quiet:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
    background-color: var(--spectrum-switch-quiet-track-color-selected-hover, var(--spectrum-global-color-gray-800));
  }

.spectrum-ToggleSwitch--quiet:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
      border-color: var(--spectrum-switch-quiet-handle-border-color-selected-hover, var(--spectrum-global-color-gray-800));
    }

.spectrum-ToggleSwitch.spectrum-ToggleSwitch--quiet:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
    background-color: var(--spectrum-switch-quiet-track-color-selected-down, var(--spectrum-global-color-gray-900));
  }

.spectrum-ToggleSwitch.spectrum-ToggleSwitch--quiet:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
      border-color: var(--spectrum-switch-quiet-handle-border-color-selected-down, var(--spectrum-global-color-gray-900));
    }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input.focus-ring + .spectrum-ToggleSwitch-switch:after, .spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input.focus-ring + .spectrum-ToggleSwitch-switch:after {
        box-shadow: 0 0 0 var(--spectrum-switch-focus-ring-size-key-focus, var(--spectrum-alias-focus-ring-size)) var(--spectrum-switch-focus-ring-color-key-focus, var(--spectrum-alias-focus-ring-color));
      }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input.focus-ring + .spectrum-ToggleSwitch-switch:before, .spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input.focus-ring + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-emphasized-handle-border-color-key-focus, var(--spectrum-global-color-gray-700));
      }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch, .spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-emphasized-track-color-selected-key-focus, var(--spectrum-global-color-blue-600));
      }

.spectrum-ToggleSwitch .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch:before, .spectrum-ToggleSwitch:hover .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-emphasized-handle-border-color-selected-key-focus, var(--spectrum-global-color-blue-600));
        }

.spectrum-ToggleSwitch--quiet .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch, .spectrum-ToggleSwitch--quiet:hover .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-quiet-track-color-selected-key-focus, var(--spectrum-global-color-gray-800));
      }

.spectrum-ToggleSwitch--quiet .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch:before, .spectrum-ToggleSwitch--quiet:hover .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-quiet-handle-border-color-selected-key-focus, var(--spectrum-global-color-gray-800));
        }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch {
      background-color: var(--spectrum-switch-track-color, var(--spectrum-global-color-gray-300));
    }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input:checked + .spectrum-ToggleSwitch-switch:before {
        border-color: var(--spectrum-switch-handle-border-color, var(--spectrum-global-color-gray-600));
      }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-track-color, var(--spectrum-global-color-gray-300));
      }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input.focus-ring:checked + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-handle-border-color-selected, var(--spectrum-global-color-gray-700));
        }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input:disabled:checked + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-emphasized-track-color-disabled, var(--spectrum-global-color-gray-300));
      }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input:disabled + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-emphasized-track-color-disabled, var(--spectrum-global-color-gray-300));
      }

.spectrum-ToggleSwitch--ab .spectrum-ToggleSwitch-input:disabled + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-emphasized-handle-border-color-disabled, var(--spectrum-global-color-gray-400));
        }

.spectrum-ToggleSwitch--ab:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-emphasized-track-color, var(--spectrum-global-color-gray-300));
      }

.spectrum-ToggleSwitch--ab:hover .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-emphasized-handle-border-color-hover, var(--spectrum-global-color-gray-700));
        }

.spectrum-ToggleSwitch--ab:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch {
        background-color: var(--spectrum-switch-emphasized-track-color, var(--spectrum-global-color-gray-300));
      }

.spectrum-ToggleSwitch--ab:active .spectrum-ToggleSwitch-input:checked:enabled + .spectrum-ToggleSwitch-switch:before {
          border-color: var(--spectrum-switch-emphasized-handle-border-color-down, var(--spectrum-global-color-gray-800));
        }
